<?php
/*
 * Copyright (c) 2017-2025 Tencent. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
namespace TencentCloud\Captcha\V20190722\Models;
use TencentCloud\Common\AbstractModel;

/**
 * DescribeCaptchaResult response structure.
 *
 * @method integer getCaptchaCode() Obtain OK indicates verification passed.
7 captcha no match. the passed in Randstr is invalid. please check if the Randstr is consistent with the Randstr returned by the frontend.
The passed-in ticket has expired (the valid period of the ticket is 5 minutes). generate the ticket and Randstr again for validation.
The passed-in ticket is reused. generate the ticket and Randstr again for verification.
15 decrypt fail. the passed-in Ticket is invalid. please check if the Ticket is consistent with the Ticket returned by the frontend.
16 appid-ticket mismatch. the passed in CaptchaAppId is incorrect. please check if the CaptchaAppId is consistent with the CaptchaAppId passed in by the frontend, and ensure that the CaptchaAppId is obtained from the verification code console [verification management] -> [basic configuration].
21 diff invoice verification exception. possible reasons: (1) if the Ticket contains the trerror prefix, generally because the user has a poor network connection, resulting in the frontend's automatic disaster recovery and generation of a disaster recovery Ticket. the business side may skip or post-process as needed. (2) if the Ticket does not include the trerror prefix, it is because the security risk of the request was detected by the CAPTCHA-intl risk control system. the business side may intercept as needed.
100 appid-secretkey-ticket mismatch. parameter validation error. (1) please check whether the CaptchaAppId and AppSecretKey are correct. the CaptchaAppId and AppSecretKey need to be obtained from verification code console > verification management > basic configuration. (2) please check whether the passed-in ticket is generated by the passed-in CaptchaAppId.
 * @method void setCaptchaCode(integer $CaptchaCode) Set OK indicates verification passed.
7 captcha no match. the passed in Randstr is invalid. please check if the Randstr is consistent with the Randstr returned by the frontend.
The passed-in ticket has expired (the valid period of the ticket is 5 minutes). generate the ticket and Randstr again for validation.
The passed-in ticket is reused. generate the ticket and Randstr again for verification.
15 decrypt fail. the passed-in Ticket is invalid. please check if the Ticket is consistent with the Ticket returned by the frontend.
16 appid-ticket mismatch. the passed in CaptchaAppId is incorrect. please check if the CaptchaAppId is consistent with the CaptchaAppId passed in by the frontend, and ensure that the CaptchaAppId is obtained from the verification code console [verification management] -> [basic configuration].
21 diff invoice verification exception. possible reasons: (1) if the Ticket contains the trerror prefix, generally because the user has a poor network connection, resulting in the frontend's automatic disaster recovery and generation of a disaster recovery Ticket. the business side may skip or post-process as needed. (2) if the Ticket does not include the trerror prefix, it is because the security risk of the request was detected by the CAPTCHA-intl risk control system. the business side may intercept as needed.
100 appid-secretkey-ticket mismatch. parameter validation error. (1) please check whether the CaptchaAppId and AppSecretKey are correct. the CaptchaAppId and AppSecretKey need to be obtained from verification code console > verification management > basic configuration. (2) please check whether the passed-in ticket is generated by the passed-in CaptchaAppId.
 * @method string getCaptchaMsg() Obtain Status description and verification error message.
 * @method void setCaptchaMsg(string $CaptchaMsg) Set Status description and verification error message.
 * @method integer getEvilLevel() Obtain In invisible verification mode, this parameter returns the verification result.
EvilLevel=0 indicates that the request is not malicious.
The parameter EvilLevel = 100 indicates that the request is malicious.
 * @method void setEvilLevel(integer $EvilLevel) Set In invisible verification mode, this parameter returns the verification result.
EvilLevel=0 indicates that the request is not malicious.
The parameter EvilLevel = 100 indicates that the request is malicious.
 * @method integer getGetCaptchaTime() Obtain Frontend retrieval time of the captcha-intl, timestamp format.
 * @method void setGetCaptchaTime(integer $GetCaptchaTime) Set Frontend retrieval time of the captcha-intl, timestamp format.
 * @method integer getEvilBitmap() Obtain Blocking type
Note: This field may return null, indicating that no valid values can be obtained.
 * @method void setEvilBitmap(integer $EvilBitmap) Set Blocking type
Note: This field may return null, indicating that no valid values can be obtained.
 * @method integer getSubmitCaptchaTime() Obtain The time when the CAPTCHA is submitted.
 * @method void setSubmitCaptchaTime(integer $SubmitCaptchaTime) Set The time when the CAPTCHA is submitted.
 * @method string getDeviceRiskCategory() Obtain Device risk category.
Note: This field may return null, indicating that no valid values can be obtained.
 * @method void setDeviceRiskCategory(string $DeviceRiskCategory) Set Device risk category.
Note: This field may return null, indicating that no valid values can be obtained.
 * @method integer getScore() Obtain CAPTCHA-Intl score.
Note:The score ranges from 0 to 100 (e.g., 20, 70, 90).
A higher score indicates a greater probability that the interaction was initiated by a bot or represents a bot attack.
A lower score indicates a greater probability that the interaction was performed by a real human user.
 * @method void setScore(integer $Score) Set CAPTCHA-Intl score.
Note:The score ranges from 0 to 100 (e.g., 20, 70, 90).
A higher score indicates a greater probability that the interaction was initiated by a bot or represents a bot attack.
A lower score indicates a greater probability that the interaction was performed by a real human user.
 * @method string getRequestId() Obtain The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 * @method void setRequestId(string $RequestId) Set The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
 */
class DescribeCaptchaResultResponse extends AbstractModel
{
    /**
     * @var integer OK indicates verification passed.
7 captcha no match. the passed in Randstr is invalid. please check if the Randstr is consistent with the Randstr returned by the frontend.
The passed-in ticket has expired (the valid period of the ticket is 5 minutes). generate the ticket and Randstr again for validation.
The passed-in ticket is reused. generate the ticket and Randstr again for verification.
15 decrypt fail. the passed-in Ticket is invalid. please check if the Ticket is consistent with the Ticket returned by the frontend.
16 appid-ticket mismatch. the passed in CaptchaAppId is incorrect. please check if the CaptchaAppId is consistent with the CaptchaAppId passed in by the frontend, and ensure that the CaptchaAppId is obtained from the verification code console [verification management] -> [basic configuration].
21 diff invoice verification exception. possible reasons: (1) if the Ticket contains the trerror prefix, generally because the user has a poor network connection, resulting in the frontend's automatic disaster recovery and generation of a disaster recovery Ticket. the business side may skip or post-process as needed. (2) if the Ticket does not include the trerror prefix, it is because the security risk of the request was detected by the CAPTCHA-intl risk control system. the business side may intercept as needed.
100 appid-secretkey-ticket mismatch. parameter validation error. (1) please check whether the CaptchaAppId and AppSecretKey are correct. the CaptchaAppId and AppSecretKey need to be obtained from verification code console > verification management > basic configuration. (2) please check whether the passed-in ticket is generated by the passed-in CaptchaAppId.
     */
    public $CaptchaCode;

    /**
     * @var string Status description and verification error message.
     */
    public $CaptchaMsg;

    /**
     * @var integer In invisible verification mode, this parameter returns the verification result.
EvilLevel=0 indicates that the request is not malicious.
The parameter EvilLevel = 100 indicates that the request is malicious.
     */
    public $EvilLevel;

    /**
     * @var integer Frontend retrieval time of the captcha-intl, timestamp format.
     */
    public $GetCaptchaTime;

    /**
     * @var integer Blocking type
Note: This field may return null, indicating that no valid values can be obtained.
     */
    public $EvilBitmap;

    /**
     * @var integer The time when the CAPTCHA is submitted.
     */
    public $SubmitCaptchaTime;

    /**
     * @var string Device risk category.
Note: This field may return null, indicating that no valid values can be obtained.
     */
    public $DeviceRiskCategory;

    /**
     * @var integer CAPTCHA-Intl score.
Note:The score ranges from 0 to 100 (e.g., 20, 70, 90).
A higher score indicates a greater probability that the interaction was initiated by a bot or represents a bot attack.
A lower score indicates a greater probability that the interaction was performed by a real human user.
     */
    public $Score;

    /**
     * @var string The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    public $RequestId;

    /**
     * @param integer $CaptchaCode OK indicates verification passed.
7 captcha no match. the passed in Randstr is invalid. please check if the Randstr is consistent with the Randstr returned by the frontend.
The passed-in ticket has expired (the valid period of the ticket is 5 minutes). generate the ticket and Randstr again for validation.
The passed-in ticket is reused. generate the ticket and Randstr again for verification.
15 decrypt fail. the passed-in Ticket is invalid. please check if the Ticket is consistent with the Ticket returned by the frontend.
16 appid-ticket mismatch. the passed in CaptchaAppId is incorrect. please check if the CaptchaAppId is consistent with the CaptchaAppId passed in by the frontend, and ensure that the CaptchaAppId is obtained from the verification code console [verification management] -> [basic configuration].
21 diff invoice verification exception. possible reasons: (1) if the Ticket contains the trerror prefix, generally because the user has a poor network connection, resulting in the frontend's automatic disaster recovery and generation of a disaster recovery Ticket. the business side may skip or post-process as needed. (2) if the Ticket does not include the trerror prefix, it is because the security risk of the request was detected by the CAPTCHA-intl risk control system. the business side may intercept as needed.
100 appid-secretkey-ticket mismatch. parameter validation error. (1) please check whether the CaptchaAppId and AppSecretKey are correct. the CaptchaAppId and AppSecretKey need to be obtained from verification code console > verification management > basic configuration. (2) please check whether the passed-in ticket is generated by the passed-in CaptchaAppId.
     * @param string $CaptchaMsg Status description and verification error message.
     * @param integer $EvilLevel In invisible verification mode, this parameter returns the verification result.
EvilLevel=0 indicates that the request is not malicious.
The parameter EvilLevel = 100 indicates that the request is malicious.
     * @param integer $GetCaptchaTime Frontend retrieval time of the captcha-intl, timestamp format.
     * @param integer $EvilBitmap Blocking type
Note: This field may return null, indicating that no valid values can be obtained.
     * @param integer $SubmitCaptchaTime The time when the CAPTCHA is submitted.
     * @param string $DeviceRiskCategory Device risk category.
Note: This field may return null, indicating that no valid values can be obtained.
     * @param integer $Score CAPTCHA-Intl score.
Note:The score ranges from 0 to 100 (e.g., 20, 70, 90).
A higher score indicates a greater probability that the interaction was initiated by a bot or represents a bot attack.
A lower score indicates a greater probability that the interaction was performed by a real human user.
     * @param string $RequestId The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
     */
    function __construct()
    {

    }

    /**
     * For internal only. DO NOT USE IT.
     */
    public function deserialize($param)
    {
        if ($param === null) {
            return;
        }
        if (array_key_exists("CaptchaCode",$param) and $param["CaptchaCode"] !== null) {
            $this->CaptchaCode = $param["CaptchaCode"];
        }

        if (array_key_exists("CaptchaMsg",$param) and $param["CaptchaMsg"] !== null) {
            $this->CaptchaMsg = $param["CaptchaMsg"];
        }

        if (array_key_exists("EvilLevel",$param) and $param["EvilLevel"] !== null) {
            $this->EvilLevel = $param["EvilLevel"];
        }

        if (array_key_exists("GetCaptchaTime",$param) and $param["GetCaptchaTime"] !== null) {
            $this->GetCaptchaTime = $param["GetCaptchaTime"];
        }

        if (array_key_exists("EvilBitmap",$param) and $param["EvilBitmap"] !== null) {
            $this->EvilBitmap = $param["EvilBitmap"];
        }

        if (array_key_exists("SubmitCaptchaTime",$param) and $param["SubmitCaptchaTime"] !== null) {
            $this->SubmitCaptchaTime = $param["SubmitCaptchaTime"];
        }

        if (array_key_exists("DeviceRiskCategory",$param) and $param["DeviceRiskCategory"] !== null) {
            $this->DeviceRiskCategory = $param["DeviceRiskCategory"];
        }

        if (array_key_exists("Score",$param) and $param["Score"] !== null) {
            $this->Score = $param["Score"];
        }

        if (array_key_exists("RequestId",$param) and $param["RequestId"] !== null) {
            $this->RequestId = $param["RequestId"];
        }
    }
}
